package com.sunny.fetch.pojo;

import javax.persistence.*;

@Table(name = "f_fund_div")
public class FFundDiv {
    @Id
    private Long tid;

    /**
     * TS代码
     */
    @Column(name = "ts_code")
    private String tsCode;

    /**
     * 公告日期
     */
    @Column(name = "ann_date")
    private String annDate;

    /**
     * 分红实施公告日
     */
    @Column(name = "imp_anndate")
    private String impAnndate;

    /**
     * 分配收益基准日
     */
    @Column(name = "base_date")
    private String baseDate;

    /**
     * 方案进度
     */
    @Column(name = "div_proc")
    private String divProc;

    /**
     * 权益登记日
     */
    @Column(name = "record_date")
    private String recordDate;

    /**
     * 除息日
     */
    @Column(name = "ex_date")
    private String exDate;

    /**
     * 派息日
     */
    @Column(name = "pay_date")
    private String payDate;

    /**
     * 收益支付日
     */
    @Column(name = "earpay_date")
    private String earpayDate;

    /**
     * 净值除权日
     */
    @Column(name = "net_ex_date")
    private String netExDate;

    /**
     * 每股派息(元)
     */
    @Column(name = "div_cash")
    private Float divCash;

    /**
     * 基准基金份额(万份)
     */
    @Column(name = "base_unit")
    private Float baseUnit;

    /**
     * 可分配收益(元)
     */
    @Column(name = "ear_distr")
    private Float earDistr;

    /**
     * 收益分配金额(元)
     */
    @Column(name = "ear_amount")
    private Float earAmount;

    /**
     * 红利再投资到账日
     */
    @Column(name = "account_date")
    private String accountDate;

    /**
     * 份额基准年度
     */
    @Column(name = "base_year")
    private String baseYear;

    public FFundDiv(Long tid, String tsCode, String annDate, String impAnndate, String baseDate, String divProc, String recordDate, String exDate, String payDate, String earpayDate, String netExDate, Float divCash, Float baseUnit, Float earDistr, Float earAmount, String accountDate, String baseYear) {
        this.tid = tid;
        this.tsCode = tsCode;
        this.annDate = annDate;
        this.impAnndate = impAnndate;
        this.baseDate = baseDate;
        this.divProc = divProc;
        this.recordDate = recordDate;
        this.exDate = exDate;
        this.payDate = payDate;
        this.earpayDate = earpayDate;
        this.netExDate = netExDate;
        this.divCash = divCash;
        this.baseUnit = baseUnit;
        this.earDistr = earDistr;
        this.earAmount = earAmount;
        this.accountDate = accountDate;
        this.baseYear = baseYear;
    }

    public FFundDiv() {
        super();
    }

    /**
     * @return tid
     */
    public Long getTid() {
        return tid;
    }

    /**
     * @param tid
     */
    public void setTid(Long tid) {
        this.tid = tid;
    }

    /**
     * 获取TS代码
     *
     * @return ts_code - TS代码
     */
    public String getTsCode() {
        return tsCode;
    }

    /**
     * 设置TS代码
     *
     * @param tsCode TS代码
     */
    public void setTsCode(String tsCode) {
        this.tsCode = tsCode;
    }

    /**
     * 获取公告日期
     *
     * @return ann_date - 公告日期
     */
    public String getAnnDate() {
        return annDate;
    }

    /**
     * 设置公告日期
     *
     * @param annDate 公告日期
     */
    public void setAnnDate(String annDate) {
        this.annDate = annDate;
    }

    /**
     * 获取分红实施公告日
     *
     * @return imp_anndate - 分红实施公告日
     */
    public String getImpAnndate() {
        return impAnndate;
    }

    /**
     * 设置分红实施公告日
     *
     * @param impAnndate 分红实施公告日
     */
    public void setImpAnndate(String impAnndate) {
        this.impAnndate = impAnndate;
    }

    /**
     * 获取分配收益基准日
     *
     * @return base_date - 分配收益基准日
     */
    public String getBaseDate() {
        return baseDate;
    }

    /**
     * 设置分配收益基准日
     *
     * @param baseDate 分配收益基准日
     */
    public void setBaseDate(String baseDate) {
        this.baseDate = baseDate;
    }

    /**
     * 获取方案进度
     *
     * @return div_proc - 方案进度
     */
    public String getDivProc() {
        return divProc;
    }

    /**
     * 设置方案进度
     *
     * @param divProc 方案进度
     */
    public void setDivProc(String divProc) {
        this.divProc = divProc;
    }

    /**
     * 获取权益登记日
     *
     * @return record_date - 权益登记日
     */
    public String getRecordDate() {
        return recordDate;
    }

    /**
     * 设置权益登记日
     *
     * @param recordDate 权益登记日
     */
    public void setRecordDate(String recordDate) {
        this.recordDate = recordDate;
    }

    /**
     * 获取除息日
     *
     * @return ex_date - 除息日
     */
    public String getExDate() {
        return exDate;
    }

    /**
     * 设置除息日
     *
     * @param exDate 除息日
     */
    public void setExDate(String exDate) {
        this.exDate = exDate;
    }

    /**
     * 获取派息日
     *
     * @return pay_date - 派息日
     */
    public String getPayDate() {
        return payDate;
    }

    /**
     * 设置派息日
     *
     * @param payDate 派息日
     */
    public void setPayDate(String payDate) {
        this.payDate = payDate;
    }

    /**
     * 获取收益支付日
     *
     * @return earpay_date - 收益支付日
     */
    public String getEarpayDate() {
        return earpayDate;
    }

    /**
     * 设置收益支付日
     *
     * @param earpayDate 收益支付日
     */
    public void setEarpayDate(String earpayDate) {
        this.earpayDate = earpayDate;
    }

    /**
     * 获取净值除权日
     *
     * @return net_ex_date - 净值除权日
     */
    public String getNetExDate() {
        return netExDate;
    }

    /**
     * 设置净值除权日
     *
     * @param netExDate 净值除权日
     */
    public void setNetExDate(String netExDate) {
        this.netExDate = netExDate;
    }

    /**
     * 获取每股派息(元)
     *
     * @return div_cash - 每股派息(元)
     */
    public Float getDivCash() {
        return divCash;
    }

    /**
     * 设置每股派息(元)
     *
     * @param divCash 每股派息(元)
     */
    public void setDivCash(Float divCash) {
        this.divCash = divCash;
    }

    /**
     * 获取基准基金份额(万份)
     *
     * @return base_unit - 基准基金份额(万份)
     */
    public Float getBaseUnit() {
        return baseUnit;
    }

    /**
     * 设置基准基金份额(万份)
     *
     * @param baseUnit 基准基金份额(万份)
     */
    public void setBaseUnit(Float baseUnit) {
        this.baseUnit = baseUnit;
    }

    /**
     * 获取可分配收益(元)
     *
     * @return ear_distr - 可分配收益(元)
     */
    public Float getEarDistr() {
        return earDistr;
    }

    /**
     * 设置可分配收益(元)
     *
     * @param earDistr 可分配收益(元)
     */
    public void setEarDistr(Float earDistr) {
        this.earDistr = earDistr;
    }

    /**
     * 获取收益分配金额(元)
     *
     * @return ear_amount - 收益分配金额(元)
     */
    public Float getEarAmount() {
        return earAmount;
    }

    /**
     * 设置收益分配金额(元)
     *
     * @param earAmount 收益分配金额(元)
     */
    public void setEarAmount(Float earAmount) {
        this.earAmount = earAmount;
    }

    /**
     * 获取红利再投资到账日
     *
     * @return account_date - 红利再投资到账日
     */
    public String getAccountDate() {
        return accountDate;
    }

    /**
     * 设置红利再投资到账日
     *
     * @param accountDate 红利再投资到账日
     */
    public void setAccountDate(String accountDate) {
        this.accountDate = accountDate;
    }

    /**
     * 获取份额基准年度
     *
     * @return base_year - 份额基准年度
     */
    public String getBaseYear() {
        return baseYear;
    }

    /**
     * 设置份额基准年度
     *
     * @param baseYear 份额基准年度
     */
    public void setBaseYear(String baseYear) {
        this.baseYear = baseYear;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", tid=").append(tid);
        sb.append(", tsCode=").append(tsCode);
        sb.append(", annDate=").append(annDate);
        sb.append(", impAnndate=").append(impAnndate);
        sb.append(", baseDate=").append(baseDate);
        sb.append(", divProc=").append(divProc);
        sb.append(", recordDate=").append(recordDate);
        sb.append(", exDate=").append(exDate);
        sb.append(", payDate=").append(payDate);
        sb.append(", earpayDate=").append(earpayDate);
        sb.append(", netExDate=").append(netExDate);
        sb.append(", divCash=").append(divCash);
        sb.append(", baseUnit=").append(baseUnit);
        sb.append(", earDistr=").append(earDistr);
        sb.append(", earAmount=").append(earAmount);
        sb.append(", accountDate=").append(accountDate);
        sb.append(", baseYear=").append(baseYear);
        sb.append("]");
        return sb.toString();
    }
}